Communications systems often employ forward error correction in order to correct errors caused by noise generated in transport channels. For example, a communication system may use a “turbo code” for the forward error correction. At the transmitter side a turbo encoder introduces redundancy bits based on information bits. The encoded bits at the output of turbo encoder are then modulated and transmitted to the receiver. At the receiver end, the receiver demodulates the received signal and produce received encoded bits to the turbo decoder. A turbo decoder then decodes the received encoded bits to recover the information bits.
To maximize the advantage of the coding gain the receiver assigns each received encoded bit of value on a multi level scale that is representative of the probability that the bit is 1 (or 0).
One such scale is referred to as a Log-Likelihood Ratio (LLR) probability. Using LLR each bit is in general represented as a number between −a to a (a>0). The value close to a signifies that the transmitted bit was 0 with a very high probability, and a value of −a signifies that the transmitted bit was 1 with a very high probability. A value of 0 indicates that the logical bit value is indeterminate. The LLR value is then used as a soft bit.
The log likelihood L(bi) for i-th bit (i=0, 1, . . . , N) can be calculated as:
      L    ⁡          (              b        i            )        =            ln      ⁢                        P          ⁡                      (                                          b                i                            =                              0                ❘                y                                      )                                    P          ⁡                      (                                          b                i                            =                              1                ❘                y                                      )                                =                  ⁢                  ⁢                  ln        ⁢                                            ∑                                                z                  ❘                                      b                    i                                                  =                0                                      ⁢                                                  ⁢                          P              ⁡                              (                                  z                  ❘                  y                                )                                                                        ∑                                                z                  ❘                                      b                    i                                                  =                1                                      ⁢                                                  ⁢                          P              ⁡                              (                                  z                  ❘                  y                                )                                                        ≈                        1                      2            ⁢                          σ              2                                      ⁢                  (                                                    min                                                      z                    ❘                                          b                      i                                                        =                  1                                            ⁢                                                                                      y                    -                    z                                                                    2                                      -                                          min                                                      z                    ❘                                          b                      i                                                        =                  0                                            ⁢                                                                                      y                    -                    z                                                                    2                                              )                    where y is received QAM symbol, z is a QAM symbol in the reference QAM constellation, and σ2 is noise variance.
From this formula, the computational complexity would involve    Step1/Estimation of σ2     Step2/Estimation of reference QAM constellation (estimation of average amplitude of the desired signal)    Step3/Calculation of the distances and min searches    Step4/Division to get L(bi)